//
//  LZUserInfoPresenter.h
//  laziz_Consumer
//
//  Created by ZhaoDongBo on 2016/12/21.
//  Copyright © 2016年 XBN. All rights reserved.
//

#import "LZBasePresenter.h"

@interface LZUserInfoPresenter : LZBasePresenter

//根据类型，获取验证码
- (void)userGetVerificationCodeType:(NSString *)type
                        andPhoneNum:(NSString *)phoneNum
                          onSuccess:(PresenterCommonSuccess)success
                             onFail:(PresenterCommonFail)fail;
//注册
- (void)userRegisterCellPhone:(NSString *)phoneNum
                     andEmail:(NSString *)email
                  andPassword:(NSString *)password
          andVerificationCode:(NSString *)verifiCode
                 andonSuccess:(PresenterCommonSuccess)success
                       onFail:(PresenterCommonFail)fail;

//登陆
- (void)userLoginCellPhone:(NSString *)phoneNum
   andPasswordOrVerifiCode:(NSString *)passwordOrVerifiCode
              andLoginType:(NSInteger)loginType
                 onSuccess:(PresenterCommonSuccess)success
                    onFail:(PresenterCommonFail)fail;

//第三方登录
- (void)userThirdPartLoginCellPhone:(NSMutableDictionary *)dataDict
                          onSuccess:(PresenterCommonSuccess)success
                             onFail:(PresenterCommonFail)fail;

//获取用户信息
- (void)userGetUserInfoBlockonSuccess:(PresenterCommonSuccess)success
                             onFail:(PresenterCommonFail)fail;

//修改头像
- (void)userChangeHeadImageFilePath:(NSString *)filePath
                        onSuccess:(PresenterCommonSuccess)success
                           onFail:(PresenterCommonFail)fail;

//更改昵称
- (void)userChangeNickname:(NSString *)nickName
               onSuccess:(PresenterCommonSuccess)success
                  onFail:(PresenterCommonFail)fail;

//更改密码
- (void)userChangePassword:(NSString *)oldPassword
          andNewPassword:(NSString *)newPassword
               onSuccess:(PresenterCommonSuccess)success
                  onFail:(PresenterCommonFail)fail;

//修改手机号时身份验证
- (void)userChangeMoblieNumIDCheck:(NSString *)moblieNum
                   andVerifiCode:(NSString *)verifiCode
                       onSuccess:(PresenterCommonSuccess)success
                          onFail:(PresenterCommonFail)fail;

//绑定新手机
- (void)userChangeMoblieNumLinkNew:(NSString *)moblieNum
                   andVerifiCode:(NSString *)verifiCode
                       onSuccess:(PresenterCommonSuccess)success
                          onFail:(PresenterCommonFail)fail;

//初始化密码
- (void)userInitPasswordWithMoblieNum:(NSString *)moblieNum
                        andPassword:(NSString *)password
                          onSuccess:(PresenterCommonSuccess)success
                             onFail:(PresenterCommonFail)fail;

//手机号忘记密码校验
- (void)userForgetMobilePasswordWith:(NSString *)mobileNum
               andVerifiCode:(NSString *)verifiCode
                   onSuccess:(PresenterCommonSuccess)success
                      onFail:(PresenterCommonFail)fail;

//邮箱忘记密码校验
- (void)userForgetMailPasswordWith:(NSString *)email
                     andVerifiCode:(NSString *)verifiCode
                         onSuccess:(PresenterCommonSuccess)success
                            onFail:(PresenterCommonFail)fail;

//验证用户是否存在（包括手机号，邮箱，用户名）---不存在则返回"statusCode":"2000000"
- (void)userValidateUserNameWith:(NSString *)userName
                       onSuccess:(PresenterCommonSuccess)success
                          onFail:(PresenterCommonFail)fail;

//区号获取
- (void)getAreaCodeSuccess:(void(^)(NSArray *listArr))successBlock Failure:(PresenterCommonFail)failureBlock;

// 绑定or更新邮箱地址
- (void)bindEmailWithOldEmail:(NSString *)oldEmail
                  andNewEmail:(NSString *)newEmail
                    onSuccess:(PresenterCommonSuccess)success
                       onFail:(PresenterCommonFail)fail;

// 绑定第三方账号
- (void)bindThirdPartyAccountWithParams:(NSMutableDictionary *)params
                              onSuccess:(PresenterCommonSuccess)success
                                 onFail:(PresenterCommonFail)fail;

// 解绑第三方账号
- (void)unBindThirdPartyAccountWithPartyAccount:(NSString *)partyAccount
                                      onSuccess:(PresenterCommonSuccess)success
                                         onFail:(PresenterCommonFail)fail;

//获取未读消息数
- (void)checkUserHaveUnReadMsg:(void(^)(NSInteger unReadCount))successBlock failure:(PresenterCommonFail)fialBlock;


@end
